package com.tarena.lbs.activity.dao.repository;

import com.tarena.lbs.activity.pojo.po.ActivityPO;
import com.tarena.lbs.activity.pojo.query.ActivityQuery;
import com.tarena.lbs.activity.pojo.vo.ActivityVO;
import com.tarena.lbs.base.protocol.pager.PageResult;

import java.util.List;

public interface ActivityRepository {

    /**
     * 分页查询活动列表
     * @param query 查询参数
     * @return 活动列表分页结果
     */
    PageResult<ActivityVO> pageList(ActivityQuery query);

    /**
     * 添加活动
     * @param activityPO 活动PO对象
     */
    void addActivity(ActivityPO activityPO);

    /**
     * 更新活动
     * @param activityPO 活动PO对象
     */
    void updateActivity(ActivityPO activityPO);

    /**
     * 根据ID查询活动
     * @param id 活动ID
     * @param businessId 商家ID（可为null）
     * @return 活动PO对象
     */
    ActivityPO getActivityById(Long id, Integer businessId);

    List<ActivityPO> getActivityListByStoreId(Integer storeId);
}
